home *** CD-ROM | disk | FTP | other *** search
- Path: solon.com!not-for-mail
- From: seebs@solutions.solon.com (Peter Seebach)
- Newsgroups: comp.lang.c++,comp.lang.eiffel,comp.lang.c,comp.object,comp.software-eng
- Subject: Re: Beware of "C" Hackers -- A rebuttal to Bertrand Meyer
- Date: 14 Mar 1996 08:13:35 -0600
- Organization: Usenet Fact Police (Undercover)
- Message-ID: <4i99if$8ve@solutions.solon.com>
- References: <1995Jul3.034108.4193@rcmcon.com> <314628F2.31C8@aud.alcatel.com> <RMARTIN.96Mar13110714@rcm.oma.com> <4i862r$1evq@saba.info.ucla.edu>
- NNTP-Posting-Host: solutions.solon.com
-
- In article <4i862r$1evq@saba.info.ucla.edu>,
- Jay Martin <jmartin@cs.ucla.edu> wrote:
- >No "hacking" is broader than that, it is writing poor code period.
-
- Bullshit. Read the jargon file.
-
- >It is writing low level or obscure code when it is unnecessary because
- >you think that its great.
-
- No.
-
- >Note that when I use the term "Software Engineering", I am talking
- >about optimizing the design and implementation of software which means
- >using the best tools and techniques.
-
- Oh, I see. You mean hacking, except that you're only allowed to use
- preexisting tools, not invent new ones.
-
- >Competent software engineers
- >are not hackers. Hackers do not like the restrictiveness of an
- >Eiffel or an Ada or any other software engineering language, thus
- >these languages are not likely to attract hackers. C is
- >unrestrictive and attracts hackers in droves.
-
- Hackers object to stupid restrictions, but are not as dumb as you seem to
- think. I think the word you're looking for is "hacks". "hack programmers"
- are an entirely different species.
-
- >I have never worked
- >with an Eiffel programmer, but given an Eiffel programmer spouting
- >high level design and implementation concepts and a C programmer who
- >says "I use pointer arithmetic cuz it may be faster, I don't trust no
- >compilers" and "I write terse code all on my line cuz its cool like
- >mathematics and gee, I is a mathematical genius or something",
- >the Eiffel programmer is basically going to get the job.
-
- And for good reason. The key point is that, if the C programmer were the
- one talking about design concepts, and the Eiffel programmer were talking
- about cool optimizations she learned for the implementation she used, you'd
- hire the C programmer.
-
- >In my book, to be a competent software engineer you must must also be
- >an very knowledgable at computer language design and also compiler
- >optimization. Its common knowledge that C is poorly designed and
- >thus rabid worshipers of C are not too swift.
-
- Not poorly designed, just designed for different goals and a different
- environment than you're working in.
-
- >If C is so wonderful for making high level code, then what the bleep
- >was C++ invented for?
-
- OO, and to be more like Simula.
-
- >Most code written in C is low level crap. Is
- >it "easier" in C to write high level code than other "high level"
- >languages?
-
- That first statement is amusingly stupid. No, it's not easier. It's also
- not notably *harder*. It requires a different kind of discipline, but it's
- the same basic thing - a good high level programmer will write elegant and
- maintainable assembler code.
-
- >I don't have problems with high level C programmers who
- >understand the limitations of their tools. I don't see "rabid C
- >fanatics" who mostly worship the low level in this catagory.
-
- Well, here's a rabid C fanatic who loathes low-level code, and considers it
- an abomination to assume that int has a multiple of 8 bits.
-
- >To demonstrate the "C hacker culture" (filed under macho attitudes)
- >here's a random recent example:
-
- >rmartin@oma.com (Robert C. Martin) writes:
- >>No, I disagree with your point. It is not the responsibility of the
- >>language to make the engineer better. It is the responsibility of the
- >>engineer to become adept at the language.
-
- >Clear demonstration of views that have left software engineering
- >and entered the "C Hacker Zone".
-
- No, it's a philosophical distinction. I agree with him; it is *impossible*
- to make someone think in high level terms. A bad programmer will make
- design and stylistic errors in Ada, too. Languages can prevent typos, and
- low-level errors. They cannot prevent stupid design. (Unless Ada can
- detect bubblesort, and optimize it into something better?)
-
- Anyway, go read the jargon file. Your penance for abusing the word "hacker"
- is to go three days without using any technology based on work done by real
- hackers. You are forbidden from using compilers, editors, and digital
- computers for three days. Say 100 "hail Knuth"'s, and write "I will not
- overgeneralize against the Great Makers" 500 times on your most expensive
- letterhead.
-
- -s
- --
- Peter Seebach - seebs@solon.com - Copyright 1996 Peter Seebach.
- C/Unix wizard -- C/Unix questions? Send mail for help. No, really!
- FUCK the communications decency act. Goddamned government. [literally.]
- The *other* C FAQ - http://www.solon.com/~seebs/c/c-iaq.html
-